<?php
class Professor{

	private $id;
	private $nome;
	private $matricula;
	private $dataIngresso;
	private $campus;
	private $colegiado;
	private $classe;
	private $titulacao;
	private $regimeTrabalho;
	
	public function __construct($id = 0,$nome= "" ,$matricula= "" ,$dataIngresso= "" ,$campus= "" ,$colegiado = 0,$classe= "" ,$titulacao= "" ,$regimeTrabalho= "" ){
		$this->id = $id;
		$this->nome = $nome;
		$this->matricula = $matricula;
		$this->dataIngresso = $dataIngresso;
		$this->campus = $campus;
		$this->colegiado = $colegiado;
		$this->classe = $classe;
		$this->titulacao = $titulacao;
		$this->regimeTrabalho = $regimeTrabalho;
	}

	public static function construct($array){
		return new Professor( $array['id'], $array['nome'], $array['matricula'], $array['dataIngresso'], $array['campus'], $array['colegiado'], $array['classe'], $array['titulacao'], $array['regimeTrabalho']);
	}

	public function getId(){
		return $this->id;
	}

	public function setId($id=0){
		$this->id=$id;
	}

	public function getNome(){
		return $this->nome;
	}

	public function setNome($nome){
		$this->nome=$nome;
	}

	public function getMatricula(){
		return $this->matricula;
	}

	public function setMatricula($matricula){
		$this->matricula=$matricula;
	}

	public function getDataIngresso(){
		return $this->dataIngresso;
	}

	public function setDataIngresso($dataIngresso){
		$this->dataIngresso=$dataIngresso;
	}

	public function getCampus(){
		return $this->campus;
	}

	public function setCampus($campus){
		$this->campus=$campus;
	}

	public function getColegiado(){
		return $this->colegiado;
	}

	public function setColegiado($colegiado){
		$this->colegiado=$colegiado;
	}

	public function getClasse(){
		return $this->classe;
	}

	public function setClasse($classe){
		$this->classe=$classe;
	}

	public function getTitulacao(){
		return $this->titulacao;
	}

	public function setTitulacao($titulacao){
		$this->titulacao=$titulacao;
	}

	public function getRegimeTrabalho(){
		return $this->regimeTrabalho;
	}

	public function setRegimeTrabalho($regimeTrabalho){
		$this->regimeTrabalho=$regimeTrabalho;
	}
	
	public function equals($object){
		if($object instanceof Professor){
			if($this->id!=$object->id){
				return false;
			}
			if($this->nome!=$object->nome){
				return false;
			}
			if($this->matricula!=$object->matricula){
				return false;
			}
			if($this->dataIngresso!=$object->dataIngresso){
				return false;
			}

			if($this->campus!=$object->campus){
				return false;

			}
			if($this->colegiado!=$object->colegiado){
				return false;
			}
			if($this->classe!=$object->classe){
				return false;
			}
			if($this->titulacao!=$object->titulacao){
				return false;
			}
			if($this->regimeTrabalho!=$object->regimeTrabalho){
				return false;
			}
			return true;
		}
		else{
			return false;
		}
	}
	
	public function toString(){
		return "  [id:" .$this->id. "]  [nome:" .$this->nome. "]  [matricula:" .$this->matricula. "]  [dataIngresso:" .$this->dataIngresso. "]  [campus:" .$this->campus. "]  [colegiado:" .$this->colegiado. "]  [classe:" .$this->classe. "]  [titulacao:" .$this->titulacao. "]  [regimeTrabalho:" .$this->regimeTrabalho. "]  " ;
	}
	
	public function toArray(){
		$temp =   (array) $this;
		$array = array();
		foreach ($temp as $k => $v){
			$k = preg_match('/^\x00(?:.*?)\x00(.+)/', $k, $matches) ? $matches[1] : $k;
			$array[$k] = $v;
		}
		return  $array;
	}
}

?>